package com.ruoyi.model.service.impl;

import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.system.domain.SNUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.model.mapper.ModelDataMapper;
import com.ruoyi.model.domain.ModelData;
import com.ruoyi.model.service.IModelDataService;

/**
 * 模型Service业务层处理
 * 
 * @author weihanqiang
 * @date 2025-04-30
 */
@Service
public class ModelDataServiceImpl implements IModelDataService 
{
    @Autowired
    private ModelDataMapper modelDataMapper;

    @Autowired
    private SNUtil snUtil;
    /**
     * 查询模型
     * 
     * @param modelId 模型主键
     * @return 模型
     */
    @Override
    public ModelData selectModelDataByModelId(Long modelId)
    {
        return modelDataMapper.selectModelDataByModelId(modelId);
    }

    /**
     * 查询模型列表
     * 
     * @param modelData 模型
     * @return 模型
     */
    @Override
    public List<ModelData> selectModelDataList(ModelData modelData)
    {
        return modelDataMapper.selectModelDataList(modelData);
    }

    /**
     * 新增模型
     * 
     * @param modelData 模型
     * @return 结果
     */
    @Override
    public int insertModelData(ModelData modelData)
    {
        String model_data_no = snUtil.generateSN("model_data", "model_no", "yyyyMMdd", "MO", 4);
        modelData.setModelNo(model_data_no);
        modelData.setCreateTime(DateUtils.getNowDate());
        return modelDataMapper.insertModelData(modelData);
    }

    /**
     * 修改模型
     * 
     * @param modelData 模型
     * @return 结果
     */
    @Override
    public int updateModelData(ModelData modelData)
    {
        return modelDataMapper.updateModelData(modelData);
    }

    /**
     * 批量删除模型
     * 
     * @param modelIds 需要删除的模型主键
     * @return 结果
     */
    @Override
    public int deleteModelDataByModelIds(Long[] modelIds)
    {
        return modelDataMapper.deleteModelDataByModelIds(modelIds);
    }

    /**
     * 删除模型信息
     * 
     * @param modelId 模型主键
     * @return 结果
     */
    @Override
    public int deleteModelDataByModelId(Long modelId)
    {
        return modelDataMapper.deleteModelDataByModelId(modelId);
    }
}
